The solution according to one or more embodiments of the present invention relates to the computing field. More specifically, this solution relates to synchronous conferencing.
Synchronous conferencing is the formal term used in computer science to denote the exchange of messages in real-time among users of computing machines (commonly referred to as online chat). A typical example of synchronous conferencing is an instant messaging service, wherein the messages (also referred to as instant messages) are text-based messages, which are exchanged among client computing machines of the users connected over the Internet to a server computing machine offering the instant messaging service.
In synchronous conferencing the exchange of the messages is perceived by the users as immediate, with each question submitted by a user that is synthetically answered at once; this provides the impression of an actual conversation happening face-to-face among the users (irrespectively of their physical distance). In this way, the users may exchange information in a direct and immediate way. Synchronous conferencing has become very popular in recent years, particularly thanks to the ubiquitous availability of the Internet (especially on mobile devices, such as smart-phones).
However, the simplicity of use of the synchronous conferencing may cause a proliferation of the messages. For example, very often a user (sender) sends many messages in short sequence while the formulation of a question or a response to previous messages is in progress.
The corresponding high number of messages that are received by each other user (receiver) may be quite annoying. Indeed, the receiver has to follow the sequence of the messages to understand the corresponding concept correctly. This involves a consumption of attention time of the receiver, which is then distracted from his/her work in progress.
This problem is exacerbated when the receiver receives messages from different senders that are interleaved among them. Indeed, in this case it is far more difficult to extract the meaning of the different concepts that are conveyed by each sender.
All of the above may cause misunderstandings or requests of clarifications and corresponding explanations, which further increase the number of exchanged messages with a chain reaction amplifying the drawbacks pointed out above.
These drawbacks are particular acute in business applications; for example, this strongly degrades the performance of any collaboration system that is based on synchronous conferencing.
Moreover, the high number of exchanged messages involves a remarkable increment of traffic in a network over which the messages are sent, and an increase of the workload of the computing machines implementing the corresponding services (and especially the server computing machines). This degrades the performance of the synchronous conferencing; moreover, this may bring about a congestion of the entire network (with negative side-effects on any other computing machines connected thereto).
One prior art technique for reducing the exchange of erroneous messages proposes delaying the sending of each message individually for a pre-defined period of time (for example, 1-10 s). This gives the sender extra-time to verify the message; when the sender detects an error, the sending of the message is prevented, so as to allow him/her to correct the message and then to send its corrected version.
However, this technique only avoids the sending of erroneous messages; however, it has not effect on the number of exchanged messages (and then on the above-mentioned drawbacks caused by it).